With the advent of inexpensive digital cameras, end-users around the world take many pictures without having to worry about having the pictures “developed,” as was the case with traditional camera film. Digital image management software has been developed to allow users to organize the hundreds and thousands of digital images they take. Digital image management applications allow users to manage and manipulate digital images that the user chooses to import into the image editing application. For example, a user can import digital photographs from a camera, card reader, or storage medium into the image editing application. Then, the user can edit the photograph in some manner. Some examples of editing are removing red-eye, adjusting color, brightness, contrast, filtering noise etc. Other examples of editing are cropping or rotating a photograph. A user can also edit a photograph by adding annotations, such as rating the photograph or other comments
One feature of some versions of digital image management software is the ability to analyze digital images and determine whether a person that appears in one digital image also appears in another digital image. This analysis may be performed in response to a user manually locating a person in a digital image or that person being automatically detected by the software. The digital image management software then automatically searches through other digital images (managed by the digital image management software) to identify digital images of the same person. In this way, a group of digital images may be associated based on a particular person that is identified in each. For example, all photos with “Grandma Jane” may be automatically identified without the user having to manually identify Grandma Jane in each digital image.
The automatic detection of a person's face in a digital image is referred to as facial detection. The automatic recognition of a person's face in a digital image is referred to as facial recognition. In order to automatically recognize a person's face that is detected in a digital image, facial detection/recognition software generates a set of features or a feature vector (referred to as a “faceprint”) that indicate characteristics of the person's face. (A “faceprint” is a subset of feature vectors that may be used for object recognition. Thus, feature vectors for non-facial objects can be generated and used for object recognition.) The generated faceprint is then compared to other faceprints to determine whether the generated faceprint matches (or is similar enough to) one or more of the other faceprints. If so, then the facial detection/recognition software determines that the person corresponding to the generated faceprint is likely to be the same person that corresponds to the “matched” faceprint(s).
Once the digital images with Grandma Jane in them are identified, the digital image management software may store data that associates all digital images, taken by the user, that have Grandma Jane identified in them. However, such associations are only made of people identified in pictures managed by the digital image management program.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
According to one technique, when the digital image management application analyzes a digital image, detects a face, and generates a faceprint, that faceprint is first compared to the “friends” faceprints. If no match is found, then the generated faceprint is compared to “famous” faceprints. The threshold for determining a match between faceprints may be different depending on whether the comparison is with “friends” faceprints or “famous” faceprints.